package br.usp.ime.protoc.client;

import java.util.List;

import br.usp.ime.protoc.pessoa.TipoTelefone;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.ServiceDefTarget;

public interface TipoTelefoneService extends RemoteService {
	/**
	 * Utility class for simplifying access to the instance of async service.
	 */
	public static class Util {
		private static TipoTelefoneServiceAsync instance;

		public static TipoTelefoneServiceAsync getInstance() {
			if (instance == null) {
				instance = (TipoTelefoneServiceAsync) GWT
						.create(TipoTelefoneService.class);
				ServiceDefTarget target = (ServiceDefTarget) instance;
				target.setServiceEntryPoint(GWT.getModuleBaseURL()
						+ "/TipoTelefoneService");
			}
			return instance;
		}
	}

	/**
	 * Obtem TipoTelefones.
	 */
	public List<TipoTelefone> obterTipoTelefones();

	/**
	 * Obter TipoTelefone.
	 */
	public TipoTelefone obterTipoTelefone(String descricaoTipoTelefone);

	/**
	 * Incluir TipoTelefone.
	 */
	public Boolean incluirTipoTelefone(TipoTelefone tipoTelefone);

	/**
	 * Alterar TipoTelefone.
	 */
	public Boolean alterarTipoTelefone(TipoTelefone tipoTelefone,
			TipoTelefone tipoTelefoneAlterado);

	/**
	 * Excluir TipoTelefone.
	 */
	public Boolean excluirTipoTelefone(String descricaoTipoTelefone);

}
